<?php

/**
* 
*/
class ControlBD
{
	private $_urlervidor;
	private $_usuario;
	private $_password;
	private $_baseDeDatos;
	private $_conexion;




	function __construct(string $p_usuario,string $p_password,string $p_baseDeDatos,string $p_urlervidor="localhost"){
		$this->_conexion = null;

		if (is_null($p_usuario) or is_null($p_password) or is_null($p_baseDeDatos)){
			echo "Error en los parámetros de conexión a la base de datos.";
			return false;
		}else{
			$this->_usuario = $p_usuario;
			$this->_password = $p_password;
			$this->_baseDeDatos = $p_baseDeDatos;

			if (is_null($p_urlervidor)){
				$this->_urlervidor = "localhost";
			}else{
				$this->_urlervidor = $p_urlervidor;
			}
		}
	}





	function conectarDB(){
		$this->_conexion = new mysqli($this->_urlervidor, $this->_usuario, $this->_password, $this->_baseDeDatos);
		
		if ($this->_conexion->connect_errno){
			echo "Fallo al contenctar a la base de datos (" . $mysqli->connect_errno . "-" . $mysqli->connect_error.")";
		}
	}

	function desconectarDB(){
		mysqli_close($this->_conexion);
	}


	function consultarDB($p_campos, $p_tablas, $p_condiciones=null, $p_orden=null){
		$sql = 'SELECT '.$p_campos.' FROM '.$p_tablas;
		$filas = NULL;
		
		if (!is_null($p_condiciones))
			$sql .= ' Where '.$p_condiciones;

		if (!$_conexion)
			$this->conectarDB();
		
		$resultado = $mysqli->query($sql);

		//$resultado->data_seek(0);
		while ($fila = $resultado->fetch_assoc()) {
			$filas[] = $fila;
		}
	}


	function insertar($p_campos, $p_tabla, $p_valoresOrdenados){
		$sql = 'INSERT INTO `'.$p_tabla.'` ('.$p_campos.') values('.$p_valoresOrdenados.')';
		$ultimoId = -1;
		
		if (!$_conexion)
			$this->conectarDB();
		
		$resultado = $_conexion->query($sql);
		$ultimoId = $_conexion->insert_id;
		
		return $ultimoId;
	}


	function actualizar($p_campos, $p_tabla, $p_condiciones=null){
		$sql = 'SELECT '.$p_campos.' FROM '.$p_tablas;
		$filas = NULL;
		
		if (!is_null($p_condiciones))
			$sql .= ' Where '.$p_condiciones;

		if (!$_conexion)
			$this->conectarDB();
		
		$resultado = $mysqli->query($sql);

		//$resultado->data_seek(0);
		while ($fila = $resultado->fetch_assoc()) {
			$filas[] = $fila;
		}
	}
}

?>